package com.futureCloudMOM.core.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.futureCloudMOM.core.entity.FBaseEntity;
import com.futureCloudMOM.framework.dict.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Sys_TableDesc", description = "数据库表字典表")
@TableName(value = "Sys_TableDesc")
public class SysTableDesc extends FBaseEntity implements Serializable {



    @NotNull(message="[表所属分类(字典Code: sys_normal_disable )]不能为空")
    @ApiModelProperty("表所属分类(字典Code: sys_normal_disable )")
    @TableField(value = "tableTypeId")
    @Dict(dictCode = "sys_normal_disable")
    private Long tableTypeId;

    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    @TableField(value = "keyFlag")
    private Integer keyFlag;

    @NotBlank(message="[表名]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("表名")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "tableName")
    private String tableName;

    @NotBlank(message="[表說明]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("表說明")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "tableDesc")
    private String tableDesc;

    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("表英文描述")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "tableDescEN")
    private String tableDescEN;

    @NotBlank(message="[字段名称]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("字段名称")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "columnName")
    private String columnName;

    @NotBlank(message="[字段描述]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("字段描述")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "columnDesc")
    private String columnDesc;

    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("字段英文描述")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "columnDescEN")
    private String columnDescEN;

    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("字段类型")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "columnType")
    private String columnType;

    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("字段长度")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "columnLength")
    private String columnLength;

    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("默认值")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "columnDefault")
    private String columnDefault;






}

